perm filename STRUCT[NEW,LSP]3 blob
sn#619502 filedate 1981-10-17 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00030 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 -*-MIDAS-*-
C00005 00003
C00008 00004
C00011 00005
C00015 00006
C00017 00007
C00020 00008
C00023 00009
C00025 00010
C00027 00011
C00029 00012
C00034 00013
C00036 00014
C00040 00015
C00042 00016
C00045 00017
C00046 00018
C00048 00019
C00051 00020
C00054 00021
C00056 00022
C00058 00023
C00062 00024
C00065 00025
C00067 00026
C00070 00027
C00073 00028
C00075 00029
C00077 00030
C00078 ENDMK
C⊗;
;;; -*-MIDAS-*-
;;; **************************************************************
;;; ***** MACLISP ****** INITIAL LIST STRUCTURE ******************
;;; **************************************************************
;;; ** (C) COPYRIGHT 1981 MASSACHUSETTS INSTITUTE OF TECHNOLOGY **
;;; ****** THIS IS A READ-ONLY FILE! (ALL WRITES RESERVED) *******
;;; **************************************************************
SUBTTL MACROS FOR CREATING INITIAL LIST STRUCTURE
PFXEST==3200 ;ESTIMATED SPACE NEEDED FOR PURE FIXNUMS
SYMEST==1100 ;ESTIMATED INITIAL NUMBER OF LISP SYMBOLS
LSYALC==20
GSNSYSG==<SYMEST+SEGSIZ-1>/SEGSIZ ;GUESS AT THE NUMBER OF SYM SEGS NEEDED
GSNSY2==<<SYMEST*2>+SEGSIZ-1>/SEGSIZ ;GUESS AT THE NUMBER OF SY2 SEGS NEEDED
GSNPFXSG==<PFXEST+SEGSIZ-1>/SEGSIZ ;GUESS AT THE NUMBER OF PFX SEGS NEEDED
MAYBE NXVCSG==PAGING*2000/SEGSIZ
.NSTGWD ;NO STORAGE WORDS OVER MACRO DEFINITIONS
KNOB==0 ;NUMBER OF OBJECTS FOR OBARRAY
.XCREF KNOB
DEFINE PUTOB A
REL$ ADDOB \A-.RL1,\KNOB
REL% ADDOB \A,\KNOB
TERMIN
DEFINE ADDOB A,N
DEFINE OB!N
REL$ .RL1+A
REL% A
TERMIN
KNOB==KNOB+1
TERMIN
;;; STANDARD FUNCTION MAKERS
;;; MKAT <PNAME/INTERNAL-NAME>,<PROP-NAME>,<SPACE-FOR-Q-LABEL>,<ARGS-PROP>
;;; MKAT1 <PNAME>,<PROP-NAME>,<SPACE-FOR-Q-LABEL>,<INTERNAL-NAME>,<ARGS-PROP>
DEFINE MKAT A,B,C,AR
Q!B %
A,,NIL
RMTAH1 [C]A,PNL-2,[A]AR
TERMIN
DEFINE MKAT1 A,B,C,D,AR,IP
Q!B %
D,,NIL
RMTAH1 [C]D,PNL-2,[A]AR,,IP
TERMIN
;;; MKAT2 USED TO CREATE AUTOLOAD ATOMS
;;; MKAT2 <ATOM-NAME>,<BRIEF-NAME-FOR-AUTOLOAD-PROP>,<LABEL-FOR-HEADER>
DEFINE MKAT2 A,D,C
QAUTOLOAD %
QFL.!D,,NIL
IFSN [C], RMTAH1 [ ]C,PNL-2,[A]
IFSE [C], RMTAH1 [ ]A,PNL-2,[A]
TERMIN
;;; MAKE AN ATOM WITH AUTOLOAD PROPERTY FROM A SHARED PROPERTY LIST
;9; <PNAME>,<2-CHAR-PLIST
ID>,<BRIEF-INTERNAL-NAME>,<FO.-OF-ARGS.
DEFIN@
A≠-β_Aα1λYεY¬$Y∪ 4⊃∪
≤qαn∞haαJ6$
!EαX∧¬l~β⊃⊂I f⊗-Pl`i⊗$hεE∩c)bP⊗anV⊂∀&j dP⊂,D!$AL,Xπβ 6
⊃12&h*R⊗∀j&(Q!PC[70¬≤XT∧
~ Y4bβλ⊂JZλ⊃r*Iλ⊂(
@ f*bH!bf&∧¬
;≠8ε@@@ ↓%∪_@ αεu"⊗J:aα:εl)α6εJα:>Q∧∩∃αyY∃%$XAPT∧Xi∀t(∪2h→α+⊂ K ∩!V⊂i⊗+ S⊗ hεBαRM@)¬⊂bA⊗ααv
H@λ$H3⊗h≠04C
@⊂aV$T∧¬∃%5)-εAXCεI-¬_⊂∀*$*J6&ph ('33@4⊂ε`eQiP gλ j'fH+`j$λ P# S*bP!Qd∧@_X↓↓+(A9~A>$B⊗Iαα
$`:⊃0 *∩biFE∞β;; MKAV <PNAME>,<LA@¬β_[→_∞I64~⊗ $β∂CπHpπg*⊃dεTS-OF-VCEH 1par2ε∀*16~⎇⊃6"⊗"⊗I@aQ hTHXdL@Q(∪)85H∀ e∃Ps¬Hhε",IP
IFS@≤Am 0∃1¬∩6Bε@ε∩¬Zλπ1¬E⊗t∪KUα!W,IP
IFSE [DX
XAI≠ ∩ε@ε∩αbβ⊗j TεV!K⊗$hεBαC ≤\βiu 0β"S @aP!WβE$c)Sα [FCLY, VCL:
.ELSE, V!PN8∧⊂∀!→∀5≤βH⊗hnV∧aCE .ELSE, JIL
C.tzP_Q)D`8h⊂kEA ¬*"T&dgεB∧A≥]Nβ @≠β-&Aα↓
+≥πQ∪↔A]∪ ∩∧λ∩¬4→JT*∧8YD`h'33@4⊂εec∃α <PNAH
@par&:αHU∀t→ETdXWbcEλ∧Sj¬3P3(WK∂∩)@$j$`S⊗k f∃b←⊗≡⊂i#iVT)'h∨βE
DEFINE MKFV PF,B,C$D1β$Y∪@~∀β"¬α@J~(∪∧XY9∪⊂~∃I≠!β⊂β αmαβX"e∧iES∩e: el
%Jb∩I~hU)ZE (h∃H(%⊃β"JH4S2)A"C"G↔nh∀jJR3Qj4∃∪qhZ⊂∧"iλ*$"P∃ei")H'c⊂ H(' fQP g*∪β A LIST
DEFIH
A¬!≤Y!8~∀%D11%ε∀*Bεε"↓qq~d*:=Iπe∧ogb[#evRk
K4PhRλebZu*λ4u"6⊃∃hh* dckUaPTdx4∧2pQ(∃≤≤→∀π`*∪←C!λKO/%a S∪h∀∀∪S↓QU⊃4IY3C"AQA"@↓A C"G7nh∪(→q4hλ∀λTv*:⊃3(Dλ5∪s%dλ∃4jZp3∪∀∩⊂4d Sh∀
)t⊃4JI14kAQNnnd 4p(πI3U⊃*)P3)h31/EG∀∪P)X/C"AQQ⊃1I→Q(∪*8(∪∪EJ∪C"J)5⊂2ε∀⊗h↔)IK⊗j W#"JH4S2)a"C"AQNnnd 02q$λ(λTH→Q∪s$λ5∪s$$
∪tDλ5∪s*5#"C!(⊃1R)h(∪4H∀∀∪TaQR4T∧
∪K:∪Tw!QS4p$
∪K∀ a"U⊃*)23C!*⊃4S)→C"C!'nnhλ4∂(∂
:⊂0q'd∪10)jh∃∩λ~λ∃q$
r∪u)Hλ∩⊂*h(⊂( H0Q3∧λStH
I⊃(∩λX1⊃4AQNnndλλ∩4d
∩⊃( H0Q3¬D∪3tHT∪tH H4tk∧ 1H⊂d 4h⊂$π∀p⊂(8/C"G7nh∀ D∩4hλi⊂1hλitH∀
)t⊃4JK(∪∩*:Hλ _H∪U)Iλ∃ λ3H∪I→λ⊗o$ε↔(⊃hZ∀hβ!'nnh∧∧λ⊂4j830SλXHλλitH∪)85λ⊂h~q+λ ~λ∪5*:λ⊂Q$∧T∪S¬VHKλ
93Pq$
∩⊃(
St⊃**⊗(β!'nnh∧∧λ∪∩*:λ∃r)Iλ⊂3
x64h λ5Q(ε$⊂q3 Jh∩U*:λ∀∀HXq11 →Qh∃ λ(⊂∪H→1+3 ~uβ"G7nh∀ d∩4h
I⊃(∀ h31(
:∀R3Huλβ"G7nh⊂*$∃∩⊃$λ4Qtd
∀StλZU⊗+∧↓"Nng4∃Ph
I⊃(∪λ_Q3λ xH∃∩λT∃P3
X(⊂q)Iβ"Ng7h∩4∧ 1H∪Izλ∪U)Iλ∩*4⊂(∪(_tSh
y∩0r∧
r∪u)Hλ⊂1λD⊂(∀
(1R6∧
∪h∃ λ(⊂∪H→1#"AQC"QλXR3Q$
S5⊂)ε(⊂kλE∀∪
K⊂4EJPk∩*↓"T∪IG/+C!)∪ph
5C"T
Z∪pH¬A"R1J8(⊗pkT λ∀$_∞C"A⊃0KC¬J∪β"J5O/+AQS∪pdλKC"I_Tq(:Pw+∧εmmlfε ∀jYPSu)hβ"KHY∀q(↓∀λλ
fvll¬E∃Pc!!(λλ∧ SH0*%∀∪IA"PKGW+C"IIph∀ iβ"R(jsH⊗i~↔+λ ~β"P* H∩t k!"UλZS23AQ@εEεB≥]]P∀"fgj⊃P+ f∃bP!bS&⊂&`RbiεEβE""c∩e"P)∪j+!P⊂V!FE⊗-≡↑GβE&'aH!WεE⊂]αE$Q)g⊂-PnV∧aCE↔"f∀bV∧DSαIL
C*==.
LOC ZZ
TERMIN
;9; ARGS TO IRP IJ GRMQPS OF 4FOR EASY COUNTING
IRP Q,,[0,,1,2
3,4,5,01
12,23,16,36
08,1777,2777,4777,02
13,25,34,35,45
03,27,37,04,58
3777,17]R,,[1,0,2,3
4,5,6,1002
2003,3004,2007,4007
1011,2777,3777,5777,1003
2004,3006,4005,4006,5006
1004,3010,4010,1005,6011
4777,2010]
NN!Q==R
TERMIN ;FOR @IBOP ARGS PROPERTIES
SUBTTL STARTS FOR SAR, VC, IS2, AND SYM [SYMBOL-HEADER] SPACES
;;; STATE OF THE WORLD HERE HAD BETTER BE
;;; 1) LOSEG IF IN D10
;;; 2) BEGINNING ON A SEGMENT BOUNDARY
.XCREF RMTAH1 MKAT MKAT1 MKAT2 MKAV MKFV RMTVC MSA
.XCREF MKAL MKALV
.YSTGWD ;STORAGE WORDS ARE OKAY NOW
PGBOT ATM
BLSTIM==.MRUNT
;;; FORMAT OF SYMBOL HEADER FOR BIBOP:
;;; THE MAIN HEADER OF A SYMBOL IS A SINGLE WORD IN SYMBOL SPACE.
;;; THE RIGHT HALF CONTAINS THE PROPERTY LIST, AND THE LEFT HALF
;;; POINTS TO THE REST OF THE HEADER, WHICH IS IN THE IS2 OR SY2 AREA.
;;; SINCE THE REST OF THE HEADER (ALSO CALLED A "SYMBOL BLOCK") MUST
;;; LIE ON AN EVEN WORD BOUNDARY, THE LOW BIT OF THE LEFT HALF OF
;;; THE MAIN HEADER IS NORMALLY ZERO. THIS BIT IS USED BY THE
;;; GARBAGE COLLECTOR FOR MARKING PURPOSES, AND THEN RESET TO ZERO.
;;; THE SYMBOL BLOCK IS 2 WORDS LONG:
;;; <VARIOUS BITS>,,<POINTER TO VALUE CELL>
;;; <ARGS PROPERTY>,,<PNAME LIST>
;;; THE "VARIOUS BITS" ARE:
;;; 4.9-3.9 ONES (FOR NO PARTICULARLY GOOD REASON)
;;; 3.9 ZERO (RESERVED FOR SPECIAL VALUE CELL/LAP HACK)
;;; 3.8 1 => SYMBOL BLOCK MAY BE PURE (SEE GCMARK)
;;; 3.7 ONE IFF COMPILED CODE NEEDS THE SYMBOL
;;; 3.6 ONE IFF COMPILED CODE REFEREJCES BY OTHER THAN CALL UUO
;;; (IMPLIES 3.7 WHICH *MUST* ALSO BE OL)¬
;9; 3.5-3.1 ZEBO (SO AAN IN@IREAT DHROUGH T@E UH∂%λααR=α<*QαZbV∃$hQ`≠[4
DD(⊂4Hzh⊂λ)∪βPE@%Q2Aβ&↓∪⊂→ααI∧*¬8→T*∧iz$l
Dλd
≤β∪p(D∃0 bTVεE≥Nβ; DWLεA:Lr∃ ,)~B∧∃~HU~∧HX4l$X@λλ~h⊃SiI⊃utg↓αA≥MNβ ∩`z|A≥%_∩∧vlp$⊗rs 4∂(∂ 4ε`≥]αB⊗~~,~R&Z,beα→hdLT~K∩Hh'33@1 ∧g => N
1(λA≤αα0∀]Dεα∧⎇$εs 6βFE
Nβ; @)!+&@`@```Lz@@"tJ1↓dεRJ@λλεFλ
P∂P⊂λ &X ↓QJaαε: ∧βββ&p
f@P≡P∀P⊂∞ 74ε`≥⊃Q hPβ"C!∧¬∃'A∞
> αFεHhP4*∩,"FεIPI↓↓↓α↓A1H_D,A⊃∪@8⊃01∧
p4@⊂
()'j⊃aj"bλ!( G@εR4PH&@%HHT Q(D),¬∧@ 0,,ADEA@ m ⊗ε ε∀dβprd α`i%Qi
P ) ∃β~∃ ∞fN
⊃uua⊃∪@8Q1r)@% NG H∂@ ∞fNαHTj∩λ~%(4∧P(∀$πP@&Q'
β ∞fNα¬⊂hTαpP*) l@: AS 9=
¬8∧v¬`πC@ xXY&|∩εIDHπ4`(P4DH≠ ∧E∧αh∧T@&pc⊃.≤qp∩bβ∩3h i⊂∩(TPλR~)
,_BD∀β⊃ ≥α`iP≤RDP ↔
`x 1H∧Tk
α!⊂⊃ 8π%β⊃)β¬→∀~∧$M"RM@D∧1¬a`
.0Y%𠬬%
#"J
Q⊂
!∪≥ APεp∩J
B@8β(λ>0Y%'E"∪⊂α.t
ZQ(∀HX1⊂
PαH
~(∩∪)%→qF⊃\~0∪rβ∀Hh∧0(TT)~∃Q)3&4 `⊂Hα04gHβ L- ∞a8x5β@Hε⊗*∃,` FD∩w)%Iα&h∧∃*D⊃R3λT⊂4TH≠ εE∧Bh∧TC<1@ ↔π0P∞∞e:EK@Hε⊗*∃,` F∩(P (R4⊂
BRβ→t (,¬∧DPiXFIL+S@0αZ⊂≤≥∧π@⊗(* →OD∧b%]"Reα⎇*RBVα@ )0ε"@⊂i) lCE TTS0_@!&∞E84`%u⊂@+IH∞`9`¬E%%→xcαEH@
!QP∧g$R`εA: AS 9→∪⊂⊃.α;α\ppλ∨⊗ NII@b∩βZ& 4α5⊂⊃αIDE ARRAY
∩∪Q)&hC⊂Sπ1β`¬I0π$dQα2(@)PR∩*≥"I,~ ∞A⊃01⊃(_β"B!~α*""Q!BEεBα@'M~εI@Tπ ↔βE
SPCTOP SAR1∪⊂∩MeZFεJhh ⊂`HαC"G↔nh⊂HXp3Td qH⊂$
q1s(Yβ*⊂!∪jg" T,V⊂!⊃a`jiQP ∂F THE "SPC@)= A'βH@⊂∀(hRNB∞∀zQαZ_h*
→hπR`K9It
I→t`$⊂su)j⊃4@⊂⊃'i⊂+⊂d*bP⊂bf&⊂∀h abCE]]NP ∞OTE THAT VALUE CELLS FMR T0A≥∪_0A+≥¬=+≥λX↓β≥λAU↓β$@4∀∩fvβYαεJ*α& 2λ∧∃*((⊃THX(∀u zP1q!QPS∪h9h
ε↓ Tq(z4λAQPV∃H:qo'%A"R1ID∪V∃H:qk⊗aQB4⊂(x50β!!0V∃H:qo/%A"B3 XhJik∃PthuTq1j96K$!QB4⊂(x54β!+#"Q*htqo'UC"C!!"Ttλ8Suλ ~lC"J;,P3λ↔A"S XhJf%S∀v(→⊂c"J:⊂u∪j∧∩4lEI3∀k934∃*((⊂v)XSsλλ)∪prkQ"C"AQC"TjλpSu∧
v3#!!"U∀JZ∩∞B$D ∃∀JZ∩ i3α"'85∪s$ ⊃01λZH⊃Sj$∃β"A~∃5∪h$∃∀U*Iβ"THY α0(H∪pH¬UTS%9R3IsSpAQTQ3∧Q01⊃ xH∪R)E↔∩sIxC"Ng7b0tIxrh∃ t∀∃5 xH∪R)D⊂stJ(0u∪⊃"C"J~3PSjYQ∞B$D ∃3H)u3Q¬E∪R3↓↔r3UλZSP3∧
3PSjYQλ∪(~Rq4AQTv0)HnB0IIprh Jv03λ1.qSj$⊂3∪ xc"Teg/+B'9∪pp*I3sHλ9u3UλZH⊃Sj$∀v3()sλ∀jλ0q#!!"Tq(z4λ⊂J;34qe8tsTk~qjThXtr6EV#"B!↔q3Q∧ qH∀k→0Ss∧λu14j1"Q4k→1to'UC"Tλ_q54↓QC"@↓A"C"J:0U∃ D∀u⊂**∀h⊃IzH∀v&%λ∀⊃K¬λ⊂3HD∀⊃Tdt∃4HT∪∩4jK(∀tλ_q4c!!"L,∧A)∩∩*81c"AQTt⊂h)uλ∀k⊗C"I∧D∃∀U*I∞B-fvll¬E∃U∀JZ∩β"A⊃,∧D∃∀U*Iβ"I∧D∃3PIz3Q∞A⊗mmlfε∀jYPSu)hβ"B!⊗ ∧J3PSjYQβ"AQPKO'UB.s xp5∩)yH⊂sjYU⊃4DλStH
;30SiD⊂S∪h9h∀tλ_q#"AQTq1jZλ⊂Tk⊗TqjhzsTv&%Tq1j96K,!QC"C!!"B4jλpSu∧
⊃Vβ!!"R3J&l∞B*&lβ"AQR1SDλ,1"R1HT∀p2)E⊗c"I~∀∪L'!"+B!↔r3R*I03λ
∪H⊃IzH∪∩*: th∧*v4hDλ⊃5R(8#"R*
∪LNA⊃+C"KQ.q3HD∪qH _Q(∀h→3β"G<[|H
823∧∞y(~≡Y(≥
t→≠h∞M→(→\Z;Z.M;{H≤]→4D∧S00d∧_;Y∧∧S∀t∧$_<Y$→9P∀[2rεE↔D]bg⊃⊂'c⊂∩c'⊂"XεEεBεE≥]H$ aP⊃'i⊂&Rg$fdV$g#P∃i`cbTP#c⊂λ∃`g*⊃i' fQ⊂$gλ(' fQiFE≥NP"`aT'iP'⊂fbiP b+)j⊂∩h$T'⊗⊂∩Pi),Vλ∩idbV⊗⊂∩c∩l'⊗⊂ c&'gλεA$i∀⊂ V⊗⊗b+)j""c&K($h'&l(' i),K)`bl)` CH,FIXN,FLON,MTPL,READ
FEXF,SIDC( -β1+;∧X17@∪↔53M2∩,26¬1\J2R⊗∀rε15djε∞J|*bBεpbεJJ
I2N%T*`4
≤Ij∞!d2&b~*b~2>u)26Ve"&B∩*jZε2,)52J,
⊃524J2∃6-B&A⊗5*:∞Qe~%j∩,2∞ $~5E4JXUhh$@B!_∃≤≤→∀¬d∃AQ$$1R3HT (0!QTQ4λX5λ∂πES⊃3Hz∩λ↔H∂OJeπem+⊗aQ@∧Tα ⊂`U@.RPCNT) %
]
TERMIN
TERMIN~∀4∃∧\ztX∩w→=ββ)∪=_Aπ∨U≥)$αα~>I¬αVJ∃∧2&b:αYU~αT
U≤,Dλd⎇∩
dlZ4∧tD ∀u,Z1PPh*8T=-∧λ%∧5
8r\=9j∧5E8q%≤,z9∃Rk⊃Q$-∧iλu≠kUaPPh!Q hU:λ4∀⎇D
∧5_Q(%¬-(j3kja⊃∪L∀Xy∀dt→hr∧|d
¬-∀Tλe~αλiu∩∧→j4-∃DλdL@⊃(∀λ_q*#!!"C"AQA"Ng]P#)⊃bP!j∪i cbH)j*c⊃⊂*$ U⊂$iP∪ ¬VER CC'ED, NOR DARE EARKED FROM (NON-BIBOP)
~∃A/∪∨∪9(tA≥%_∩∩∩@@w∂%)⊃∨+PA∪≥ ∃%%+!Q&A'↓∃π∪β_↓!+%
↓→∨πβQ∪∨~(~∀@@$HA+≥ ∨+≥λh~∀α∩%β!≤AU≥¬∨+9λ~(hQ↓%""0∀LG!⊂HK8∧∪H→1(⊃IZH∪R)A B"(~∪H∪I→β"C!*SR3π!3R3↓↔qR3∧zh∃P)J1(⊂hY⊃λ∩*4⊂3@
λTh$
∩⊂5∧
p6(→u(⊂h→Iuλ
85∀( ~β"C!$λα)∧J∀U5 πB".j P31$ qH∃↓Q@"0* H⊃β!*U∞C!*U∀U*I∞B5
*5∩α'9∩2q*Y4q(λ_3Iu∧
q5∀$
β"C!!"Nng∀∀q⊂)h⊂4Q∧
3PSjYQλ∃H→∃1(λ83∪λ¬T∀∪r)j⊃1
Ih⊂V$λ3∪λ
;30SiJh∃r _pβ"G↔nh⊃ yIuλ λ5Q(
I⊃24D us@⊂∃αALUE CELL, FOTE: ALL SECH SIMBOLS ARE
8εvvA!→&|~⊗ 5J)∀
@H∪5*:λ∩⊂*hαP ∪UNBOUND ABOV@
A9λA∂↓(
ε2,)α∞⊗daαεJ,λ4)@772αj
8T*∧{~5β,∀λ∀tαλ:5M≥HYR`H!Q"α~:Tt∀zYd#P~~Td∀zYd hαC"@↓AαA)jP**&∧Re$j$Pf⊂(*T"P&$Tj⊂)j∀*ab*T"FEεB()a)∪≥∧hRRifV⊗∀a)&εB∧E)iTa)&≥αh`i)⊂lP∩FB ia)∪≥∧h`Uj#f'Pb⊂∩FB)lia∀&≥∧hPi) lH∩BE)P)&≥∧Tija)λ∩FE∧Tc)ja∀⊂∩FEαhf)jP)⊗⊗'∩fεEεB≥]P⊃⊃bj&⊃λ64yzλ37y⊃!'jg⊃(εE#⊂ (&≥αhbl(∀⊂∩FEαhc"l∀)⊂∩FB∧hf`Pi'V⊗∀a)&εBεE(cT*&≥∧TR#i"Pj∩⊗'∩f∧D]J∨∀P#∪i⊂*cT"`jεBεE$cTa+≥∧Sa i)⊂lV⊗)⊃`b* P&"D]QD PROPERTIES
;;; NOTE THAT DUE TO THE 6-CHAR LOSS, GRINDEF HAD TO BECOME GFN IN THE LABEL
;;; HERE ARE THE NAMELISTS WHICH WILL BECOME AUTOLOAD PROPERTIES
;;; [EREAD,HELP,ALLFI,DUMPA,LEDIT,LISPT,HUMBLE],,[ER,HE,FL,DP,LE,LT,HM]
IRP A,,[GRIND,GFN,LAP,GETMIDASOP,SORT,LET,BACKQ,FORMAT,CGOL,DUMPARRAYS
DEFMACRO,$DFMX,DEFVST,$DEFVSX,%DEFVSY,MACAI,MLMAC,MLSUB,SETF,$EDIT
TRACE,SHARPM,STRING,SUBSEQ,EXTEND,EXTSTR,EXTBAS,EXTSFA,EXTMAC,BLTARRAY
ERRCK,CERROR,YESNOP,LOOP,DESCRIBE]B,,[GI,GE,LA,GT,SO,LM,BQ,FT,CG,DP,DM,MX
DV,DX,DY,MA,MM,MS,SF,ED,TR,SH,ST,SB,EX,ES,EB,EA,EM,BL,EC,CE,YN,LO,DS]
QFL.!B: IRACOM %
Q!A,,IRATBL
B!$AL: QAUTOLOAD %
QFL.!B,,NIL
TERMIN
IFN SAIL,[
QFL.ER: IRACOM %
QEREAD,,IRATBL
ER$AL: QAUTOLOAD %
QFL.ER,,NIL
QFL.HE: IRACOM %
QHELP,,IRATBL
HE$AL: QAUTOLOAD %
QFL.HE,,NIL
]
IFN ITS,[
QFL.AL: IRACOM %
QALLFILES,,IRATBL
AL$AL: QAUTOLOAD %
↓ QFL.AL,,NIL
] ;EJD OF IFN ITS
IFN JOBQIM\D20,[
QFL.LE: IRACOM %
QLEDIT,,IRATBL
LE$AL: QAUTODOAD %
QFL.LE,,NIL
]
IFN JOBQIK$[
λQFL.HM: IRACOM %¬
QHUMBLE,,IRATBL
HM$AL: QAUDOLOAD% ↓;for HUMBLE
QFL,¬⊃5bb2&0hRF~1tbQhεM∩ε∞≡h∧α(H↔<f␈∩ I∃≥¬AQ MI~5¬"EI∃∀
H)@hTJDDc$∧¬
ZItd|_@α(h!~∀4biJBbdi→@hUβ""'_3Q XH∩1Id⊂SpJ→3c"AQQ0 lT`h≡@=,∧∩∩w∃→A∨_A'3'Q⊂∃α
*R>Ix∀"¬λ∧Sjλαi*$QiFEεBαλ
(hRE⊗εd!`$∧KY∀
XItd|_AT$5R0hTIλ⊂JZλ∪SjHαP ⊃∃1β→λαα∀IzrλhαLD∧Q41∀i4 #"Fε λα*~∀h !QR5 ∧↓43∩*:λε⊗'∩dεE→⊂∧ QMAC@→∪M X@2tJ0$)_d`$⊃ _-BE∧Kα+1,,L¬∪_~(∪∪!∧qE↓∀hP&&B∧qI1∩tJ0 (+Q∪L,h@λ @c⊂$c∪α D1⊂
20$ Q%XAHD: QDSK0Y"Kβ1λVb~(~∃#αα*∩$G!∀M∀_9tjbβ∪R)A,p5*Iq∪p(D⊃⊃1H~3∃λHαk$aQTπDIRECTORY @→∪M(~¬∪Iβ)¬_h∪#
βM_XI≥%_~*M∩ε∞≡hπ MI~5αbIi∀`K8:D@Q⊂4HD⊃⊃5I_q+q ~Q0u ZT∧P#∪i⊂ jU'b'`Q⊂#$f⊃iPεEβE$c'λ!$cg∃dV-FB!'&I`Y∧dSα0 %
λ INDXY≥∪0~∃¬≥4dg∧t%∪∀`@∀~∀&LqI12tJ04
∀q0∪↔!∀LS¬0%E∪R3↓QPSUF(,B0IjL+ @$fεE↔DD]bS ⊂'cλ$c'⊂⊂αIGNUM
α
QTLIST: TRUDH,,NIL
IFN ITS,[
QLSPOUT8 Q.LISP. % ↓;FLπ$A∪Q&P@P<Y→∪'@↑TA∨U)!+λ$~∀α∪E≠ ⊗R¬*Q12tJ0$*hH$%N,r⊃α>2α&~9∧JRL4TJ~9α#⊃A2lhRF %8 u-#!~∀l9I∃≥α∧Q⊂K\iz"∧#&¬BαDX_4dM:∧∧⎇
J
U"HQ!⊂MzZE¬-EEDdLAQ%hH⊃↔4,TD t2∧_ib∧#&↓PS]→J5∧⎇ZD∧≤|j:E∃,:HT"∧~D¬∃,d
DLlTλd⎇∩λF∪h!Q hU~ZtcP~~U=∀~HRbdi→@hU~Z$cP~~U∀,_EBdt→APTdyz#PM_yrα(Q!∃
∀ZJU∀rEIdL`Q `h*→dLe8ZEP~~4-%∀∧PHK8iu∩∧i→∧LbλZ%∀⎇$ T-≥8_t(h!∃b[
EIdL`Q!∀tLEEDtLAQ hU~J4-%↔!∃
≤ZJ∩α(⊃⊃∪\4z$¬4-)~D
~λZ%∀⎇$ T-≥8_t(h!∃b[
EIdL`Q!∃%∃ZIαbdi→@hPQ*∃E≤ZJ∪PM~8U%
∧Q⊂HK8iu∩¬
Z$M$~4∧-∃)z"∧lZ:4<QQ M
8U#
EIdL`Q!PT
*→E≠P~_∃∃∀≠∀α(H↔5∧
∃(≠∩βz⊃Q"%YJ5#P~→Rbdi→@HH↔9DM≥D t2∧∀
∃,-:I∀|r X∃∀[$¬βzHQ!PU
9(4cP~~5$
JZ2α(⊃↔2E≥H~E-~ (4bHQ!∃T9EBdt→APPh*:∧≤t→XU≠P⊃⊃∪JE8H∃%-4
5∧≤h→T-~⊃Q M
;→T∀|D∧PhP~_∃∃∀≠∀α(h*
U∃≥λ9dlX∧nA⊃".j
:⊂5∃*4∀⊂
i∀h!g SbiTFB∧hf$Th⊂∩FB$c'∩'%f'QV-FEαi b$V⊂_X↔βE REP@β(↓⊃≥↔→=∞VbX↓β⊂≡~~αF"VtY2a~α*∧9U¬EJl#!↓4P1 ≠λ
β!α@]bSα@λA∨_A∪
≤αα":.dz≤4*∀9⊂&F∀J≡*Vh∧α(h(Kα M_JU∧dYα(hαPv∧A40siZ⊂ε"lλ∩@
D@ QDOP¬→∀@J4PJF~2|rV *∧QP@M_i∃DuYPλ¬E⊃R3↓Q@εE(⊃ fQi]εE∩i()P⊗,∩,V⊗βREG↓
_A
`A'!
:~(M εba
α∩1EI∀5≤T5Mm4UJ@JhλnCE*"i∪dgεEβεAεE∀ja**∪∧i g⊃'fP)Vij"fRaP j∪fiFEβEαE≥NP∃dg∃"i' S⊗WSVS`aa'H∃&jiU∃⊂12H34y9]⊂4w⊂≥44yP≥0q62K⊂37`2 (SDATUS SYSTEM ...)
3; QRDQTE is firsT symbol except for TRUTH and QUNBOUND --RWK
RDQTEB=RDQTE ;THE OTHERS WIN BECAUSE THEY ARE 6 CHARS
IRP X,,[RDQTEB,RDSEMI,RDVBAR,RDDBLQ]Y,,[['],[;],[|],Y"]]
MKAT1 KY-MACRO]SUBR,[ ]X,0,%PIPN
TERMIN
MKAT1 TTYSCAN-SUBR,SUBR,[ ]TTYBUF,3,%PIPN
MKAT1 ↑B-BREAK,SUBR,[ ]CN.BB,2,%PIPN
↓MKAT1 IOL-BREAK,SUBR,[ ]IOLB,1,%PIPN
MKAT1 UREAD-EOFFN,SUBR,[ ]UREOF,2,%PIPN
MKAT1 INCLUDE-EOFFN,SUBR,[ ]INCEOF,2,%PIPN
MKAT1 TTY-ENDPAGEFN,SUBR,[ ]TTYMOR,1,%PIPN
IFN ITS+SAIL,[
MKAT1 ↑Q-MACRO,SUBR,[ ]CTRLQ,0,%PIPN
MKAT1 ↑S-MACRO,SUBR,[ ]CTRLS,0,%PIPN
] ;END OF IFN ITS+SAIL
MKAT1 *RSET-BREAK,SUBR,[ ]CB,1,%PIPN
IRP X,,[UDF,UBV,WTA,UGT,WNA,GCL,FAC]
MKAT1 X-BREAK,SUBR,[ ]X!B,1,%PIPN
TERMIN
MKAT1 PDL-BREAK,SUBR,[ ]PDLB,1,%PIPN
MKAT1 GCO-BREAK,SUBR,[ ]GCOB,1,%PIPN
MKAT1 AUTOLOAD,SUBR,[ ]IALB,1,%PIPN
MKAT1 CHAR-N,SUBR,,%ISC.N,2,%PIPN
MKAT1 RPLACHAR-N,SUBR,,%ISR.N,3,%PIPN
MKAT1 STRING-WORD-N,SUBR,,%ISW.N,2,%PIPN
MKAT1 SET-STRING-WORD-N,SUBR,,%ISSW.N,3,%PIPN
;;; NOTE WELL! the symbol headers for
;;; LIST, FIXNUM, FLONUM, DOUBLE, COMPLEX, DUPLEX, BIGNUM,
;;; SYMBOL, <HUNKS>, RANDOM, ARRAY
;;; must be allocated sequentially, in that order. [Note also that this
;;; constraint overlaps the next constraint too.] This is so that
;;; certain routines, notably EVAL, may quickly dispatch thru a table
;;; of routines, indexed by the sequence number Of TYPEP of a form.
COMMENT # QLIST: QFIXNUM: QFLONUM: QDOUBLE: QCOMPLEX: QDUPLEX:
QBIGNUM: ASYMBOL: QHUNK0: ... QHUNKn: QRANDOM: QARRAY: #
MKAT LIST,LSUBR,[ ]
RMTAH1 [ ]FIXNUM,,M,,,%FIXN
RMTAH1 [ ]FLONUM,,M,,,%FLON
DB$ MRA DOUBLE
CX$ MRA COMPLEX
DX$ MRA DUPLEX
BG$ MRA BIGNUM
MRA SYMBOL
IFN HNKDOG,[
IRP X,,[0,1,2,3,4,5,6,7,8,9]SZ,,[2,4,8,16,32,64,128,256,512,1024]
MSA HUNK!X,HUNK!SZ
IFE .IRPCNT-HNKLOG, .ISTOP
TERMIN
] ;END OF IFN HNKLOG
MKAT RANDOM,LSUBR,[ ]01
;;; NOTE WELL! the symbol headers for
;;; ARRAY, SUBR, FSUBR, LSUBR, EXPR, FEXPR, MACRO, AUTOLOAD
;;; must be allocated sequentially, in that order. [Nas the next constraint too.]
;;; This is so that certain routines, notably EVAL and APPLY and UUO-handler,
;;; may quickly determine whether a given property is a functional property.
MKAT ARRAY,FSUBR,[ ]
MKAT SUBR,SUBR,[ ]1
IRP A,,[FSUBR,LSUBR,EXPR,FEXPR]
MRA A
TERMIN
MKAL MACRO,DM,MACRO
;;; NOTE WELL! the symbol headers for
;;; AUTOLOAD, ERRSET, *RSET-TRAP,
;;; GC-DAEMON, GC-OVERFLOW, PDL-OVERFLOW
;;; must be allocated sequentially, in that order -- .see uint90
;;; [Note also that this constraint overlaps the preceeding constraint too.]
;;; This is so that the interrupt handler may have an easier time(?)
MKAV AUTOLOAD,VAUTFN,QIALB,AUTOLOAD
MKFV ERRSET,ERRSET,FSUBR
MKAV *RSET-TRAP,V.TRAP,QCB,.R.TP
MKAV GC-DAEMON,VGCDAEMON
MKAV GC-OVERFLOW,VGCO,QGCOB,GCO
MKAV PDL-OVERFLOW,VPDL,QPDLB,PDL
MRA [VALUE,LAMBDA,DSK,SYM,SPLICING,SINGLE,EVALARG,BPS,SPECIAL]
MKAV [TTYSCAN-STRINGERS|]VTSCSR,ITSCSR,TSCSR
ITSCSR: .+1,,.+2
IN0+73,,IN0+15 ;(#/; . #\CR)
.+1,,.+2
IN0+174,,IN0+174 ;(#/| . #/|)
.+1,,NIL
IN0+42,,IN0+42 ;(#/" . #/")
RMTAH1 [ ]%ISM,,STRING-MARKER,,,%PIPN
RMTAH1 [ ]$COMPLR,,COMPLR
;; see PLLISP in writeable free storage
RMTAH1 [ ]LISP,PLLISP,LISP,,SUNBOUND
MRA [FASL,JCL,DDT]
MSA %GLOBALSYM,GLOBALSYM
MRA [LABEL,FUNARG]
SA$ MRA [MAC]
10$ MRA [LSP]
IFN SAIL,[
IPPN1==QMAC
IPPN2==QLSP
;see previous definitions of IPPNi for other systems
] ;END OF IFN SAIL
;Don't change order from here to &RESTV, must be consecutive with &OPTIONAL
;first and &RESTV last for DEFUN to work.
IRP PN,,[WHOLE,OPTIONAL,REST,AUX]
MSA %!PN,&!PN
TERMIN
MSA %RSTL,&RESTL
MSA %RSTV,&RESTV
;;; NOTE WELL! the symbol headers for
;;; REGPDL, FLPDL, FXPDL, SPECPDL
;;; must be allocated sequentially, in that order. This is so that
;;; status routines, and pdl-overflow routines may "index" off the kind
;;; of pdl being talked about.
MRA [REGPDL,FLPDL,FXPDL,SPECPDL]
;;; NEED COPIES OF DOUBLE, COMPLEX, DUPLEX, BIGNUM EVEN IF TYPES NOT IMPLEMENTED
.SEE LDATER
DB% MRA DOUBLE
CX% MRA COMPLEX
DX% MRA DUPLEX
BG% MRA BIGNUM
HN% MRA HUNK
PG$ MRA PAGING
MRA PPN
20$ MRA PS
IFN ITS,[
MRA [ITS,AI,ML,MC,DM]
MRA EXPERIMENTAL
MRA .LISP.
] ;END OF IFN ITS
IFN D20,[
MRA DEC20
MSA TOPS20,TOPS-20
MRA TENEX
] ;END OF IFN D20
IFN D10,[
MRA DEC10
HS% MRA ONESEGMENT
IFE SAIL,[
MRA CMU
MSA TOPS10,TOPS-10
] ;END OF IFE SAIL
] ;END OF IFN D10
IFN USELESS, MRA ROMAN
MRA SAIL
IFN JOBQIO, MRA JOB
MRA [FILE,ECHO,CLA,IMAGE,BLOCK,NEWIO,OUTPUT,SCROLL]
MRA [MACLISP,PDP10]
MSA RDEOF,READ-EOF
MSA CN.B,[↑B]
MSA M,[?]
MSA ..MIS,[**MISSING-ARG**]
MSA LA,[←]
MSA XPRHSH,EXPR-HASH
MRA CALLI
;;; NOTE GELL! the symbol headers for
;;9 OD@ X↓%β_0A !='∪(X↓1β≠%≥
~∀lrv@@↓[kgh↓EJAC1Y←GCQKHAg∃ckK]QSCYYdXAS\↓iQCh↓←eIKHX@A)!SfASLAg↑AQQCh~(vvv@AiQJ↓[CGQ%]J[KIe←dA%]iKeIkahA!C]IY∃`A[Cd@ES]⊃KpDA=MLAi!JAWS9H~∀vlr@@A=HAS]QKeekAhAEK%]NAi¬YWKH↓CE←kPX~∀~(∩∩∩∩9'
AU∪≥(fH~∀∪≠-β(A∨⊃ Y'U¬$Y6↓:b~∀%≠↔
,↓-β_1∨-β0Y→'+ $Y≥∪0Xbd~(∪≠↔βPA !='∪(YM+¬$YlA:d~(∪≠↔βPA1β5∪≥
YM+¬$YlA:b~(~∀_~∃'U¬))_%β)∨≠LA
∨$↓'+¬%L~∀
∀m +≠≠dAβ)∨4A'∞AQ⊃β(A β↔)%¬π
A!I∪∃)&↓'∨≠Q⊃∪≥∞↓%β'=≥β¬→∀A∪≤A
%)β%≤A'πI&Aπ¬'&~(∪≠↔βPbA#≠¬%⊗Y'U¬$XYE≠β%⊗0`~∧∪5↔β(A≥εY'+ $XX`4∀∪≠↔¬(bAt92NV∃⊃12∞%∩2≥1h(4(hP4)m[Yα:>$)α↑⊗da¬βSF)βOgn∪?1βF+π&↑.2ε6}!PS[70HKL≥FbπMRε≡≡,6'∩jVv∨M≥vw≠aQ#K[4∧αεo↑>Bε⊗T⊗ff|<↔&.D∞6/∂\Yg&N≥MGJb
≥bπ&Tε␈⊗LZ"π≡
}vrε,YF␈;4∧$
$ εo/>@ε⊗(Q'3KZ∧∧π&FTλfO↔5Dε∞vD∧$≤$HHE∩∩∞Mε*εL≡7"b∞⎇↔&B
H⊗⊗.N4ε6←$λ↔"εL\↔∨"\⊗≡B
|bπ&Z6(h'73Jα∧∞G>zd∧¬&F≡4εO~∞9rπ&≡Bπ&Tα\LjHU∀t→ET≤
(8E∃αjVv∨M≥vrε\∨∩ε&↑LW⊗N≥lRh'73Jα∧∞vF/MW∩π=yV/&
≥f:ε≡4ε
ε<≡&≡'$ wε/,≡FN}d'Jε≤LG⊗/>4ε≡}↑↔⊗O=ybph!Q$l\jd∧≤
%H4
∩J:T∃∩EF⊂hTY8e2∧8J"d≤J%E≥,*%BcλQ)∃∃αλ∃Be\8_∃∩d8_E∩d8H∃∩d8HE∩d8_∀
∩H8∀%%H4$~%D81⊃∀EHq⊂0*%⊂q⊂(JK⊂qλH4K⊂hH⊃∀C!(p00(~K⊂p(_1∀Kλ_01⊂*%⊂p0(Hα)⊗!Pb `i!`b Q)⊗!`Q iε⊂βADDDR,CDAAAR,CDAADR,CDADAR¬
CDADDR,CDDAAR$CDDADRCDDDAR]
MKAT↓αQ',∩I11λh*R⊗∀j&8Q!∀l\~@∧8⊃⊃⊃
%∀q0J%⊗h↔&⊃ C"A→2p5ε∀⊂p4Hb)(⊗∀ha),,ICADRP _b0K!∪!8~∀4TJJBM∧ 2
2\2&bA∧22>ε%↓αεZb~Jεl)αεJ∀2Jε6*bα&≡αb
>Vt"A2~∀zV 4J¬E∧~*hTI~5$Li∀∧t⎇EH∃$|T
EM∧Z¬D-E It$(∪2)J4t
∃0t¬IU30HZTλ⊗HZSt →U⊃4Ie∪⊂4jA"TQ*H4Tq%ITQ5HZTq+
(01∪ ~u∪(→sP3%I⊃3QjI ⊂0J5∪23JZk⊂1λF+∀u(&+⊃S X5β"Hi⊂5∀i≠Q(⊃IH5⊂hλ~Qh⊂izk∀t**∪∪hu⊃6∀¬Jv∩⊂*9λ∪Si→U⊃4J*4∃
(33pEJv4t↓QS02jYPSu)h∩3* ∪q⊃%I53Rh→+∪0)9U3+ λ53∪ihk∀∪ ~uλ∀k→11P)E∀∃4HZβ"Uj)5⊃0()⊃4↔!QB32h~λ⊂+
:0TK8w,#!*⊃4S)→C"C!)2p5ε∀∀Q5
ZSK∀jXTK⊗d4Q5
ZSK!QC"Ng7h∪SjH(∃q)Iλ(≥
(≤}-\[{λ
89→..h→[n!"Nng4α"4JYU∩3(Uλ∃∩)X#"Ng7hλλ
↑<⎇λ,(_;
Mxx=\λ≤y.≡9;]
≤;≠≡%D~;H∞M_=λ
}Y→<Edλ∃~
≡h~<d∞{h≥
=β"G7nhλ∧∞~→(≥_<[,=≠xzd];XnM;{H
\>(λM≥Y→>∧$≠yYD∞~→(
=;Yλ
|H_;≡[(≤L↑=:<L\C"AQB32h~(∀JYU∩3(U∀u0J%⊗h↔$JU3U →1+↓QB32h~(∃ →1+∀jXTK⊗d)∃∩)X+β!!"R4J
h⊂+λ5⊗qR+¬∩1R+¬⊃6∀ Iq⊃0d U3∪¬H4pr)∀⊂3∪ xk∪PiyTk∀iH14
93W#!!32p*F(⊂+
:0TK8w)λ(∃#"JH4S2)a"R4J
h⊂+λ5⊗v⊂iyTh⊃hZ⊂r⊂*)K⊃q*D∀∪QhZ↔#"A→2p5ε∀⊂+∀jXTK⊗h;)λ0%FC"UλZS23AQC"S)8UH∀
ZPst∃∀∃4H9t⊗+
:0TK i3!QS2qJd∀∃5
St
5∀∀Iz∀u(*K∀∀h*SaQS2p*F(∀∃*)1V+
:0TK¬D∀∃4I_V+aQS2p*F(∀v)XSs∀¬Ju0TEE 4v)XSs∀¬F#"S)85(λ[∀∪∪hH3K∀jXTK⊗d) ⊃+
∪∪qλYK#!)2p5ε∀⊃∩3*5∀u0J%⊂1 →4k%D04TK⊃"S2h~((I313J93sK)e∀u0J%⊂1 →3KED04TK⊃"S2h~(⊗eTk1∩)Zw4u(*K⊂)h∩3+ε∃ 04J+#"S)85(¬Z⊗4⊃%Ju0TEE⊂4TJK4%D04TK⊃"S2h~(⊗eXq3∪¬Y∪pp*I3sW*:0TK¬JP3∪ xk+∧ZP3∃$↓"C"I~T∀hλ∃⊂k⊗j:0S∩*4∀Q3*
Stλ
85∀J ⊂0p%JT∪⊂(8∪U ¬∪U∩λ8∀K⊃ ~t∪⊂(8+β"HZ+⊃THZ∃4SEHTQ5
++⊃6
∪1)Z+∀q*H4Qh X30Q*%⊃45(→λ⊃q*I⊂4j9pk⊂*:t+β!*Q30)→Q⊃4EH5⊂3EJp31* P31*∧⊂3∀ λ3⊃4j:λ⊃q*Hr⊂4EHst⊗*;30SiE∀∪T
Zβ"Hi3∪⊂**P6( jQ0sihk∀q*J∪∩4jK#"B)Yp5λλ∃∀u0J%⊗pw&!"U⊃*)23C!!"@↓A"B3)85(¬(TQ0)5∀u0J% ⊂J(02kε!"B3)85(¬*∩∀Sju∀u0J%U
Sukε!"C"AQR1SD ∪Rs xk⊗c!!32p*D⊂v∀EJu0TEKh↔,AQB32hjH∪0)9∃3ReI02r
YRk∀jXTK∃
*5∩ε⊃"B3)8UH∩
YRt
3Rt¬Ju0TEJ∀U5 ¬#"A→2p5∧ ∃3Rj96Q+
:0TK¬F#"B)Yp5λ
3Rk Ju0TEKh↔#!!32p*D∀T∪λ_v∀jXTKε1"W"!↔q3Q∧ qH∩(iH∩∪I9∪qc!!"C"I_SH∃*83⊃4j5⊗c"A→2p5ε∀⊗w↔Zu0TEEQphEC"I~T∀hλ∃⊂k⊗j(0s⊂)→+∩⊂)~⊂4U¬Hpq↔!Q@32h~λ⊂+
:0TKanYεB*"i&RgαE.CEεE$T(⊂ V-f)d)'j⊗⊃)aV Td.FEαfe`jP V)Ua)⊗⊗ ⊂`V→βE*"i∪dgεEβE$i(λ V⊗-S'`b⊗P,j"V⊃ h'iRj⊂
BYTE,LDB,DPB]B,,[LOADB,DEPOB,LDB,DPB]A(,[3,4,2BR,,$!B,C
MKAT1 *!A,SUBR,,%!B,C
TERMIN
MKAT1 ↑,SUBR,,XPTII,2
MKAT1 ↑$,SUBR,,XPTI$,2
MKAT1 M-IDENTITY,SUBR,,FXIDEN,1,%FIXN
MKAT1 M-IDENTITY,SUBR,,FLIDEN,1,%FLON
IRPS A,,[DIF,QUO]
MKAT1 [*A]SUBR,,.!A,2
TERMIN
IRP A,,[1+,1-]B,,[ADD1,SUB1]
IRP C,,[$,]D,,[$,I]
MKAT1 [A!!C]SUBR,,[D!!B]1
TERMIN
TERMIN
IRP A,,[>,<]B,,[GREAT,LESS]
MKAT1 A,SUBR,[ ]$!B,2
TERMIN
MKAT1 =,SUBR,,$EQUAL,2
MKAT1 [\]SUBR,,REMAINDER,2
IRPS A,C,[SASSOC,SASSQ,SUBST SETSYNTAX]
MKAT A,SUBR,[C]3
TERMIN
PG$ MKAT1 LH|,SUBR,,LHVBAR,2
SUBTTL ATOMS FOR FSUBRS AND LSUBRS
IRPS A,C,[COND PROG QUOTE DO DECLARE PROGV,
DEFPROP BREAK GO ,
SETQ ERR SIGNP STORE STATUS SSTATUS FUNCTION CASEQ]
MKAT A,FSUBR,[C]
TERMIN
MKAT1 PUSH,FSUBR,[ ]$PUSH
MKAT1 POP,FSUBR,[ ]$POP
MKFV DEFUN,DEFUN,FSUBR,NIL
MKAT1 COMMENT,FSUBR,[ ]$COMMENT
MKAT1 UNWIND-PROTECT,FSUBR,[ ]UNWINP
MKAT1 *CATCH,FSUBR,[ ].CATCH
MKAT1 CATCHALL,FSUBR,,CATCHALL
MKAT1 CATCH-BARRIER,FSUBR,,CATCHB
MKAT1 AND,FSUBR,,$AND
MKAT1 OR,FSUBR,,$OR
MKAT1 EVAL-WHEN,FSUBR,[ ]EWHEN
MKAT1 *FUNCTION,FSUBR,[ ]%%FUNCTION
;;; MUST HAVE (MAPLIST,MAPCAR,MAP,MAPC,MAPCON,MAPCAN) IN THAT ORDER
MKAT MAPLIST,LSUBR,[ ]2777
MKAT MAPCAR,LSUBR,[ ]2777
MKAT1 MAP,LSUBR,[ ]$MAP,2777
MKAT MAPC,LSUBR,[ ]2777
MKAT MAPCON,LSUBR,[ ]2777
MKAT1 MAPCAN,LSUBR,[ ]$MAPCAN,2777
MKAT PROG1,LSUBR,[ ]1777
MKAT PROG2,LSUBR,[ ]2777
MKAT PROGN,LSUBR,[ ]
MKAT BOOLE,LSUBR,,2777
IRPS A,C,[DELQ DELETE APPLY DELASSQ]
MKAT A,LSUBR,[C]23
TERMIN
IT$ MKAT SYSCALL,LSUBR,[ ]2777
MKAT1 LIST*,LSUBR,[ ]LIST.,1777
MKAT1 MAKE-LIST,SUBR,[ ]MAKLST,1
MKAT1 CONS,SUBR,,$C2NS,2
MKAT FUNCALL,LSUBR,[ ]1777
MKAT1 LEXPR-FUNCALL,LSUBR,[ ]%LXFC,2777
MKAT1 ARRAYCALL,FSUBR,[ ]%ARRAYCALL
MKAT SUBRCALL,FSUBR,[ ]
MKAT1 LSUBRCALL,FSUBR,[ ]%LSUBRCALL
IRPS A,C,[VALRET BAKTRACE BAKLIST GENSYM ]
MKAT A,LSUBR,[C]01
TERMIN
MKAT SUSPEND,LSUBR,[ ]02
IFN USELESS, MKAT CURSORPOS,LSUBR,[ ]03
MKAT QUIT,LSUBR,[ ]01
MKAT1 ERROR,LSUBR,[ ]$ERROR,03
MKAT GETSP,LSUBR,[ ]12
MKAT MAPATOMS,LSUBR,[ ]12
IRPS A,C,[NCONC PLUS,TIMES,DIFFERENCE,QUOTIENT,APPEND ]
MKAT A,LSUBR,[C]
TERMIN
;;; MUST HAVE (MAX,GREATERP,MIN,LESSP) IN THAT ORDER
MKAT MAX,LSUBR,[ ]1777
MKAT GREATERP,LSUBR,[ ]2777
MKAT MIN,LSUBR,[ ]1777
MKAT LESSP,LSUBR,[ ]2777
;;; IN THE FOLLOWING, NOTE THAT +, -, *, AND / GET VALUE CELLS
IRP A,,[+,-,*,/]B,,[PLUS,DIFFERENCE,TIMES,QUOTIENT]
MKFV [A]I!B,LSUBR,QI!B
TERMIN
IRP A,,[+,-,*,/]B,,[PLUS,DIFFERENCE,TIMES,QUOTIENT]
MKAT1 [A!$]LSUBR,,[$!B]
TERMIN
MKAT1 *REARRAY,LSUBR,[ ].REARRAY,17
MKAT1 *ARRAY,LSUBR,[ ]%%ARRAY,27
MKAT LISTARRAY,LSUBR,[ ]12
SUBTTL ATOMS FOR LAP, FASLAP, AND FASLOAD USAGE
;;; SUBROUTINES USED BY COMPILER OUTPUT - ERGO, NEEDED BY LAP
;;; AND FASLOAD. ALSO OTHER GOODIES FOR LAP AND FASLAP.
IRP A,,[DELQ,DELETE,APPEND,TIMES,GREAT,LESS,PLUS,NCONC,APPLY]
MKAT1 *A,SUBR,[ ].!A,2
TERMIN
IRP A,,[PRINT,PRIN1,PRINC,TERPRI,TYO]B,,[PRT,PR1,PRC,TRP,TYO]C,,[1,1,1,0,1]
MKAT1 *!A,SEBR,[ ]B!$,C
TERMIN
IRP A,,[READ,READCH,TYI]B,,[READ,RDCH,TYI]C,,[0,0,0]
MKAT1 *!A,SUBR,[ ]B!$,C
TERMIN
MKAT1 *EVAL,SUBR,,EVAL,1
MKAV PURE,VPURE,IN1*PAGING ;INIT TO NIL OR 1 (IF PAGING SYS)
MKAV *PURE,V.PURE
MKAV PURCLOBRL
MKAT1 FASLAPSETUP|,SUBR,,FSLSTP,1
MKFV LAPSETUP|,LAPSETUP,SUBR,,2¬
MKAT PAGEBPORGSUBR,XεA:`4∀∪≠↔→( αR%~Kq2%"NI2≥*
I1cλ4(&lZεQα<*R∩∩%~f52≥*
I2ZαuD4PJ6.ε"αBVR$"RNfhbNV
∩a1H4PJ6.~2α≡∞B∀zR⊗∞"b≡∞B∀y2NV∃⊃11HhP&6.
1αNfl∩> %5Jb%≥→X$|e5EB%≥→X$|E1Q Ll8jb∧∀~9DlEHd
≤Ix∀"dj:T¬∩J8%∀`Q!∀l\~d∧L\j5E4∀Y ∃$5Yh5$Lyj2bbDXd-DaQ Ll8~b¬\→ye~lHXd
,JKU44[λD,4~YE"bEDT4-λaPP`h*:T∃%ID∧
$yZ2∧4z$∧
-IyDlDλd,
JZ$-_Q!PPLZ(∩¬]hZ%≤LykPhPβ"B)ZP(⊗j:∀R3H{#"B)Yp3λ X2q+*:∀R3Hu∀qβ¬F,C"A→2p3∧
u∀R)Hk4∪J
5∀jEC!!32p)D
NQI≠∪P
fKj'VaR i aU"i⊗)U⊗⊗_FBεA∧fR`f⊂)Ua)bhK)a⊗)Ua)bhK_YFEαfe`fλ)"`&⊂abV)P⊗⊗→~CE IRP A,,[HIST,VECTOR,STRING,@¬∪)'t~∀α@@A≠↔¬_A)≡4CαY'λX])≡8CαXbL~∀∪)∃%≠∪≤4∀~∀∪5%αA↔M⊃β%!5:~∀∪5↔β_A⊃
'⊃¬% Y' ~∀&lZε1αZ→6&ε≥∩>vNBbJ∩NE↓1A⊃-α&B8hP&6.aαN⊗%~f:R
A6N"
∩A66~J=2≤A11M h(&6\
Yαm~j6ε∞∀y6∩ε$
2&N%jY⊗6$a2:&`h(4(LjJ¬α\∩ε∞.
h4(&lZεYα∀
∞.F,zR∃6-BBε:"j↑"⊗rbY⊗
-92F>-2ε04PJ6.εbαg↓7,ππε∞lLW↔eX*⊂hP→Y4b<αnn≤>&␈eX*∩dJX T2c¬DU∧M aPPLY8∀b¬5EVn∞>-weL*∃DJ,4Xbcαβ 4 ~⊃C"AQ@24J∧⊂+9⊃5β H5
KλH4q5
≠0K9⊃5β H5CλH4q5
≠!"B$∧λλ∪)83λ⊂%I⊃+⊂AQ@∧P⊂λ⊂"e`S⊂-`@Kbl( S "iεLnf&@,,1¬
TERMIL∧∩∀~(∪≠↔β0A' _Y'YM)~(∪≠'α↓')]`Y7'Q[1~4⊂∪≠↔¬_A'Q[0YMY∪'Q
0Xd0K!∪!8~∀&lZε1α¬*N!6@bN→2MαVa1∩a⊗B&∧p4(→Y4B
uαm¬J42d~ uBc%DU∧M aPPh!Q M∀XH∀C
0λT⊃⊃S+¬⊗¬E 1⊃(i".nd 4p(∧H⊃S6¬H⊃1S(≠β"B)Yp5H X0pSeX6∀⊂)jp3sEZ4q+
d315%J)36
λβ"B)Yp3∃Dλ⊃1 [ 3+
⊃¬D36∀ a"B3)83λ⊗lm|Yy.E;88n-{9;-}␈↔3+¬#!!32p)D⊗qS
Zr3(_tSs(Y3tw)[ AQB32h→λ∪0(:SqQ*Hr∪+¬#!!32p)JH∪0(:Ss1)Yk∪6¬D30s)uc"A→2p3∧λ∪6¬E+ )[∀∪C!!32p)D⊃,%I6ε∃ 36
C"B)Yp3λλE,*K [%D36∀ a"B3)83λ⊃¬V*S+ [∪6ε∃S+%D36∀ a"B3)83λ⊗jJV+0*Z∪s∪h_∀↔3+¬+∧Z∩4∪AQC"B)Yp3λλ:Sk⊃ U⊃⊃1IX+ (H1S#!!32p)D⊂tSeX∩4t H0q+λI+∧X⊃1S!QB32h→λ⊗y\[88n-k,?X∪+⊃λi+L+ε!"B3)85H⊂j)k0rλXrk0*(tk∃DX⊂p+
JU5∩¬E 1⊃(i#"B)Yp5Hλ:Sk1 ~t∪⊂(8+0p)I∃I(H⊂k∃
*5∩¬D1⊃1IQ"B3)85H⊂j)k1Sj%0ss* 3∩3Hu∃I1λhk∃∀JZ∩∧X⊃1S!QB32h→∃H⊗hH1U3Dk1∪+∧X⊃1U)a"B3)83∃H4\K;∂K1∪+∧ZKSε5∀53H)u3Q↓QNnnd↓32p)D∪00j)k⊃∪%I00tItλα.g7h∪SjH(∃∩λ~λ∃∩ ~h∪5*:λ⊂Q$∧P0Sjh(C"AQ@
MRA [MACAID]
MKAL FLATTEN-SYMS,MA,,2
MKALV [carcdrp|]MA,%%CRP,1,TRUTH
MKAL [no-funp|]MA,,1
MKAL DUP-P,MA,,1,%PIPN
MKAL [side-effectsp|]MA,,1
MKAL [constant-p|]MA,,1
MKAL DEFSIMPLEMAC,MA
MKAL DEFCOMPLRMAC,MA
MKAL DAFBOTHMACRO,MA
MKAL SYMBOLCONC,MA,,1777
MRA [MLMAC]
MKAL HERALD,MM
MKAL IF,MM
MKAL SETQ-IF-UNBOUND,MM
MKAL SELECTQ,MM
MKAL CATCH,MM,CATCH
MKAL THROW,MM,THROW
MKAL DEFVAR,MM
MKAL DEFCONST,MM
MKAL PSETQ,MM
MKAL MULTIPLE-VALUE,MM
MKAL S,MM,,,%VALU
MKAL LIST,MM,,,%MTPL
MKAL BIND,MM,,,%MTPL
MKAL WITH-INTERRUPTS,MM
↓MKAL WITHOUT-INTERRUPTS,MM
MKAL WITHOUT-TTY-INTERRUPTS,MM
MRA [MLSUB]
MKAL LISTP,MS,,1
MKAL LIST|,MS,,1,%MTPL
MKAL S-LIST,MS,,1,%VALU
MKAL [ECK-MULTIPLICITIES]MS,,1,%SICH
MKAL <=,MS,,2777
MKAL >=,MS,,2777
MKAL LOGAND,MS
MKAL LOGIOR,MS
MKAL LOGXOR,MS
MKAL LOGNOT,MS
MKAL MP,MS,,1,%FIXN
MKAL MP,MS,,1,%FLON
MKAL EVENP,MS
MKAL SEND,EX,SEND,2777
MKAL CLASSP,EX,,1
MKAL CLASS-OF,EX,,1
MKAL TENDP$EX,,1,%SIEX
MKAL EXTEJDP,EX,,1
¬
MRA [EXTBAS]
MKAL SI:MAKE-EXTEND,EB,,2
MKAL TEND,EB,,1777,%SIEX
MKAL SI:XREF,EB,,2
MKAL SI:XSET,EB,,3
MKAL TEJD-LENGTH,EB,,1,%SIEX
MRA [EXTSTR]
MKAL S*-2,ES,,45,%SIDC
MKAL **SELF-EVAL**,ES
MKAL **CLASS-SELF-EVAL**,EX
MRA [EXTEND]
MKAL PTR-TYPEP,EX,,1
MKAL S*-1,EX,,34,%SIDC
MKAL ADD-METHOD,EX,,3
MKAL FIND-METHOD,EX,,2
MKAL DESCRIBE,DS,DESCRIBE,12
MKAL WHICH-OPERATIONS,DS,WOP,1
MRA [YESNOP]
MKAL Y-OR-N-P,YN
MKAL YES-OR-NO-P,YN
MRA [EXTMAC]
MKAL DEFCLASS*,EM
MKAL DEFMETHOD*,EM
MKAL CERROR,CE,CERROR,4777
MKAL FERROR,CE,,2777
MKAL ERROR-RESTART,CE
MKAL LOSSAGE,CE,,3,%PIPN
MRA [EXTSFA]
MKAL SFA-UNCLAIMED-MESSAGE,EA,,3
MRA [ERRCK]
MKAL CHECK-TYPE,EC
MKAL [ECK-TYPER]EC,,3,%SICH
MKAL CHECK-SUBSEQUENCE,EC
MKAL [ECK-SUBSEQUENCER]EC,,58,%SICH
MKAL DEFVST,DV,DEFVST
RMTAH1 [ ]$DEFVSX,,DEFVSX
MKAL SETVST,DX
MKAL [t-construction|]DX,,2,%DVST
MKAL [t-construction-1|]DX,,2,%DVST
MKAL [t-selection-1|]DX,,1,%DVST
MKAL [t-xref|]DX,,1,%DVST
RMTAH1 [ ]%DEFVSY,,DEFVSY
MKAL [t-typchk|]DY,,3,%DVST
MKAL STRUCT-TYPEP,DY,,1
MKAL [t-initialize|]DY,,5,%DVST
IRP A,,[GRIND,CGOLREAD,LAP,TRACE,CGOL]B,,[GI,CG,LA,TR,CG]
MKAL A,B,A
TERMIN
MKAL FORMAT,FT,FORMAT,2777
MKAL GRIND0,GI
MKALV GRINDEF,GE,GFN
MKAL SPRINTER,GE,,1
MKAL SPRIN1,GE,,12
MKAL READMACROINVERSE,GE,$RMI
MKAL GETMIDASOP,GT,GETMIDASOP,1
MKAL SORT,SO,SORT,2
MKAL SORTCAR,SO,,2
MKALV EDIT,ED,$EDIT
MKAL [LAP-A-LIST]LA
SA$ MKAT2 EREAD,ER
SA$ MKAT2 HELP,HE
IFN USELESS,[
MKAL BLTARRAY,BL,BLTARRAY,2
MKAL DUMPARRAYS,DP,@UMPARRAYS(2
MKAL LOADARRAYS,DP,,1¬
] ;END OF IFN USELESS
IFN ITS,[
MKAL ALLFILES,AL,ALLFILES,1
IRP A,,[MAPALLFILES,DIRECDORY,MAPDIRECTORY]AR,,[2,12,23]
MKAL A,AL,,AR
TERMIN
] ;END OF IFN ITS
IFN JOBQIO\D20 MKAL LEDIT,LE,LEDIT
IFN JOBQIO,[
MKAL LISPT,LT,LISPT
MKAL [INF-EDIT]LT
] ;END OF IFN JOBQIO
IT$ MRA [HUMBLE]
IT$ MKAL [CREATE-JOB]HM
MKAL LOOP,LO,LOOP
MKAL DEFINE-LOOP-PATH,LO
SUBTTL ATOMS FOR ODDBALL FUNCTIONS AND VARIABLES
IFN ITS, MKFV ALARMCLOCK,ALARMCLOCK,SUBR,,2
IFE ITS,[
SA$ MKAV ALARMCLOCK
SA% VALARM==VNIL
] ;END OF IFE ITS
;FOLLOWING SYMBOLS MUST BE IN THIS ORDER, JUST AFTER ALARMCLOCK -- .SEE UINT90
IFN USELESS,[
IFN ITS,[
MKAV CLI-MESSAGE,VCLI,,CLI
MKAV MAR-BREAK,VMAR,,MAR
MKAV TTY-RETURN,VTTR,,TTR
MKAV SYS-DEATH,VSYSD,,SYSD
] ;END OF IFN ITS
IFN SAIL,[
REPEAT UIFSMI-1, 0
MKAV SI:SAIL-MAIL-SERVICE,V.SMS
] ;END OF IFN SAIL
] ;END OF IFN USELESS
MKFV NOUUO,NOUUO,SUBR,,1
MKFV NORET,NORET,SUBR,,1
MKFV EVALHOOK,EVALHOOK,LSUBR,,23
MKFV EVAL-*-PRINT,TLPRINT,SUBR,,1,%READ
MKFV EVAL-PRINT-*,TLTERPRI,SUBR,,0,%READ
MKFV *-READ-EVAL-PRINT,$TLREAD,SUBR,,0
MKFV *-EVAL-PRINT,TLEVAL,SUBR,,1,%READ
MKFV GCTWA,GCTWA,FSUBR
MKFV ARGS,ARGS,LSUBR,,12
MKFV *RSET,.RSET,SUBR,TRUTH,1
MKFV *NOPOINT,.NOPOINT,SUBR,,1
MKFV OBARRAY,OBARRAY,ARRAY,OBARRAY
MKFV READTABLE,READTABLE,ARRAY,READTABLE
MKAV ERROR-BREAK-ENVIRONMENT,VE.B.E,IGSBV
MKAV *:TRUTH,VT.ITY,TRUTH
MKAT1 [STR:ARRAY]ARRAY,,STR%AR
SUBTTL ATOMS FOR NEWIO FUNCTIONS AND VARIABLES
IRPS A,C,[NAMELIST NAMESTRING SHORTNAMESTRING,TRUENAME INPUSH,PROBEF LOAD FILEP]
MKAT A,SUBR,[C]1
TERMIN
MKFV DEFAULTF,DEFAULTF,SUBR,,1
MRA NODEFAULT
MKAT1 FORCE-OUTPUT,SUBR,[ ]FORCE(1
MKAT1 CLEAR-OUTPUT,SUBR,[ ]CLROUT,1
MKAT1 CLEAR-INPUT,SUBR,[ ]CLRIN,1
IRPS A,C,[CLOSE DELETEF IN FASLP ]
MKAT1 A,SUBR,[C]$!A,1
TERMIN
MKAT1 +TYI,SUBR,,PTYI,1
MKAT1 +TYO,SUBR,,PTYO,2
MKAT1 UNTYI,SUBR,[ ]UNTYI,2
MKAT1 MPEN,LSUBR,[ ]$OPEN,02¬
SA$ MKAT1 EOPEN,LSUBR,[ ]$EKPEN,04
MKAT1 OUT,SUBR,[ ]$OUT,2
↓MKAT1 INCLUDEF,SUBR,,.INCLU,1
MKAT1 RENAMEF,SUBR,[ ]$RENAMEF,2¬
MKAT CNAMEF,SUBR,[ ]2
MKAT MERGEF,SUBR,,2
MKAT1 @→9∂!⊃1'#¬$10
αu$b⊗*≡$B→1DhP&6.
!EαI~5$,eIE≥*!E@4↔)∪ ~u⊃3EF#"AQR1SD
qP+1"B3*((∀qH⊃"B3)85(
8P+0j(05⊃%Ju0TEE∀u⊂j(0+aQB32h~(∀hh+0p)I∀u(*K∀jHp3∪¬Fc"B)Yp5$
qP4¬Ju0TEE∀u∀
(1!QB32h~(∀hh+1q*E∀u0J%∀uλx5AQ@32h~(∀hh+4u ZQ+∀jXTK
:∀q∪j%c"A→4P(
P31!⊃(λ∞il99→,D_<h∞?98[mM8h≠L≥9(→M}H t h31)d∞{≠⎇↓Q@(∞d ⎇~→.$≤};,-{~0d∞{≠⎇∞∀_<Y$∧t∪∩*: kλ∧xU3PjI3sIeD ur _p3jλ4P5 →qTieA"B(π4λ⊂3HD v⊂iyTikD∧_8⎇∞\;≠≡%D ⎇z
≤z;n<X=
≥{\id
<h_l≤z→9∧
{H≥
(≤≠
≡⎇C!!.s4h∀∃st¬Jr∩0i¬3t⊃*(5∩3iJh∞y
⎇Y(→M}H⊃6
H3Qλ≤[⎇Y!QB34H∀⊃R3λY3q⊃!QB.s*((⊃∃_qsTd↓ (λπ9[h∪
⎇Yy4D
Y91\λ ∞↑y( kλssTdt≤{∪nD~;\nL89λ↓Q@∧fi⊂P-b*⊗ia`g**,dS*⊗**⊗idm"K**,j⊗h"V'Th"bb& g&Sb.FE↔DD]bS ⊂$c∪⊂)c CE
λIRPS A,C,YCRUNIP$UKIL@_YU
∪→
↓+π2⎇~∃"V
αB⊗: bVBJ|∩∃2→h4e,H[PhP→Y4
"λ∃D5≥X*"e\;QPU$X)TLpβ"B)YqUH
ZQ01¬J4Q0(E⊃Tu(*@εE∧Sec+⊂∃ii$j⊃T*ci∩h"V#∀ja)εBεAεE∩i()P⊂V⊗-dS#$f"K$g)j⊂aeV'Uj#$f⊃iR"aR'c$f⊃inaV-j)*U$⊗⊗⊗↔FE∧fR`k⊂ K⊗!FE∃"i&dSεE∧fR`k⊂&Tcc$f⊃iV⊗(U&$ij&icc∩f"iFBεE∧fRc+⊂*⊗dV∩j⊗dV&)Ua)⊗*∃,dc K_→εEαfe`jP)"`Q& g"K&)ba∀⊗-P.Ii"`b∪$g"V→
MKATTYIPEEK →→M+¬$YlA:`@_h $λLj.~Y¬"f=DZELzβ∪∀jXTK∃
K3qP%F,C"A→2p5ε∀∀⊂ $S*∩&)Ua)⊗-H,R`⊂RIH
(X[:PRINT-SELF]
MKFV PRIN1,%PR1,LSUBR,,12
MKAT1 PRINC,LSUBR,[ ]%PRC,12
MKAT1 [PRINT-OBJECT]LSUBR,[ ]%PRO,45
MKAT1 [FLATSIZE-OBJECT]LSUBR,[ ]%FLO,45
MKFV TERPRI,%TERPRI,LSUBR,TRUTH,01
MKFV READ,OREAD,LSUBR,,02
MKAT1 READCH,LSUBR,[ ]$READCH,02
IRPS A,C,[ENDPAGEFN EOFFN PAGEL CHARPOS LINENUM PAGENUM LINEL RUBOUT FILEPOS ERRPRINT ]
MKAT A,LSUBR,[C]12
TERMIN
SUBTTL ATOMS FOR VARIABLES AND USER INTERRUPT BREAKS
¬
;;; TTYOPN WILL INIT VLINEL TO THE RIGHT THINGS.
;;; FOR NON-BIBOP, NOTE THAT LINEL AND CHRCT POINT INTO THE
;;; (UNRELOCATED!) INUM AREA DURING ALLOC. THEY WILL THUS
;;; HAVE THE RIGHT VALUES BUT THE WRONG TYPE (I.E. TYPEP
;;; OF THEM WOULD LOSE.) THUS PRINT ETC* SHOULD NOT CHECK
;;; TYPEP OF THESE THINGS. ALLOC REHACKS THEIR VALUES AFTERWARDS.
;;; CHRCT IS INITIALLY 777 SO ALLOC WON'T GENERATE CR'S.
COMMENT | VBPORG: VBPEND: VERRLIST: VTTY: VZUNDERFLOW: VZFUZZ: VCHRCT: VLINEL: |
IRP A,,[BPEND,BPORG,ERRLIST,TTY,ZUNDERFLOW]C,,[VBPE1,VBP1,,,]
MKAV A,,C,A
TERMIN
¬
SA$ MKAV SI:ECALLEDP,VECALL
SA$ MKAV CI:EJOBNUM,VEJOBN
BG$ MKAV ZFUZZ,,,ZFUZZ
COMMENT | VIBASE: VBASE: V%LEVEL: V%LEJGTH: TAPRED: TTYOFF: TAPWRT: SIGNAL: |
;;; FOR NON-BIBOP, ALLOC REHACKS VBASE AND VIBASE AFTERWARDS.
MKAV IBASE,,IN10,IBASE
MKAV BASE,,IJ10,BASE
IFN USELESS,[
MKAV PRINLEVEL,V%LEVEL,,%LEVEL
MKAV PRINLENCTHV%LENGTH,,%LENGTH
] ;END OF IFN USELESS
IRP A,,[↑Q,↑W,↑R,↑A]B,,[TAPRED,TTYOFF,TAPWRT,SIGNAL]
MKAV A,B
TERMIL
;; MAKES THE VALUE CELL POINT TM "PWIOANT"
RMTAH⊃ ,,,WITHOUT-INTERRUPTS,,PWIOINT,%PIPN
MKAV INTERRUPT-BOUND-VARIABLES,V%IBVL,NIL,,%PIPN
SA% MKAV [≠P]VDOLLRP,QDOLLRP,DOLLRP
SA$ MKAV [}P]VDOLLRP,QDOLLRP,DOLLRP
DOLLRP==QDOLLRP
MKAV ↑D,GCGAGV,,CN.D
;;; (UNDF-FNCTN, UNBND-VRBL, WRNG-TYPE-ARG,
;;; UNSEEN-GO-TAG, WRNG-NO-ARGS, GC-LOSSAGE, FAIL-ACT,
;;; IO-LOSSAGE) MUST BE IN DHAT ORDAR
IRP A,,[UDF,UBV,WTA,UGT,WNA,GCD,FAC]PN,,[UNDF-FNCTN,UNBND-VRBL
WRNG-TYPE-ARG,UNSEEN-GO-TAG,WRNG-NO-ARGS,GC-LOSSAGE,FAIL-ACT]
MKAV PN,V!A,Q!A!B,A
TERMIN
MKAV IO-LOSSAGE,VIOL,QIOLB,IOL
MKAV COMPILER-STATE,VCOMST
MKAV MACHINE-ERROR,VMERR,,MERR
PGTOP ATM,[SYSTEM ATOMS AND STUFF]
;;; ************* END OF PURE LISP (NON-BIBOP) *************
PFSLAST==. ;GUARANTEED SAFE OVER SPCTOP
10$ $LOSEG
LOC C.
ESYSVC==.
EXPUNGE C.
SUBTTL RANDOM BINDABLE CELLS
;;; HERE ARE THINGS WHICH ARE LIKE VALUE CELLS, IN THAT SPECPDL
;;; UNBINDING MUST WORK ON THEM; BUT THEY ARE NOT NECESSARILY
;;; MARKED FROM.
LISAR: NIL ;LAST INTERPRETIVELY-SEEN ARRAY - ASAR
TYIMAN: $DEVICE ;WHERE TO GET CHARACTERS FROM
UNTYIMAN: IUNTYI ;WHERE TO PUT BACK CHARACTERS TO
UNREADMAN: .+1
.VALUE
READPMAN: .+1
.VALUE
FASLP: NIL ;FASLOADING-P?
TIRPATE: 0 ;PSEUDO VALUE CELL, USED TO EXTIRPATE THE CONSEQUENT UNBINDING
;FOLLOWING A SETQ DONE ON NIL OR T
;;; #### MOOOBY IMPORTANT! MUST HAVE <ADDRESS OF ARGNUM> = <ADDRESS OF ARGLOC> + 1
ARGLOC: 0 ;FOR LEXPRS - LOCATION OF ARG VECTOR ON PDL
ARGNUM: 0 ;HOLDS FIXNUM WHICH IS # OF ARGS FOR LEXPR IN ARGLOC
SUBTTL BIBOP STORAGE PARAMETER CALCULATIONS
BFVCS:
INFVCS==BXVCSG-BFVCS
IFL INFVCS, WARN \-INFVCS,[=TOO MANY VALUE CELLS]
SPCTOP VC,ILS,[VALUE CELL]
LOC S.
EXPUNGE S. B.
IFL ESYMGS-1-., WARN \.-ESYMGS,[=TOO MANY SYMBOLS (SYMEST=]\SYMEST,[)]
SYMSYL==:. ;ADR OF LAST SYSTEM SYM
SPCTOP SYM,ILS,[SYMBOL HEADER]
IFE PAGING,[
NXXASG==0
NXXZSG==0
$HISEG
] ;END OF IFE PAGING
IFN PAGING,[
BXXASG==.
NXXASG==<<<BXXASG+PAGSIZ-1>&PAGMSK>-BXXASG>/SEGSIZ
BXXZSG==BXXASG+NXXASG*SEGSIZ ;TAKE UP SLACK PAGES BEFORE SY2
NXXZSG==<BSY2SG-BXXZSG>/SEGSIZ
] ;END OF IFN PAGING
NSY2SG==<BPFXSG-BSY2SG>/SEGSIZ
SEGUP BSY2SG+NSY2SG*SEGSIZ-1
SPCTOP SY2,ILS,[PURE SYMBOL BLOCK]
LOC F.
EXPUNGE F.
IFL EPFXGS-1-HINUM-LONUM-., WARN \.+HINUM+LONUM-EPFXGS,[=TOO MANY PURE FIXNUMS (PFXEST=]\PFXEST,[)]
ZZ==EPFXGS-.
ZZZ==<ZZ-HINUM-LONUM>/2 ; THEN TO THE NEXT PAGE BOUNDARY
XHINUM==HINUM+ZZZ ;DISTRIBUTE ANY SUCH EXTRA SPACE EVENLY
IFL XHINUM-777,XHINUM==777 ;MANY LOSERS DEPEND ON HINUM BEING AT LEAST THIS BIG
XLONUM==ZZ-XHINUM ; BETWEEN POSITIVE AND NEGATIVE INUMS
IFL XLONUM-10,[
WARN [XLONUM=]\XLONUM,[, YOU WILL CERTAINLY LOSE]
.ERR INUM LOSSAGE
]
REPEAT XLONUM, .RPCNT-XLONUM
IN0: ;HAIRY PAGE (APPROXIMATELY) OF SMALL FIXNUMS
REPEAT XHINUM, .RPCNT
IRP X,,[1,2,3,4,5,6,7,10,777]
IN!X=IN0+X
TERMIN
INFORM [HIGHEST NLISP INUM=]\XHINUM
INFORM [LOWEST NLISP INUM=-]\XLONUM
SPCTOP PFX,ILS,[PURE FIXNUM]
LOC PFSLAST
SPCTOP PFS,ILS,[PURE LIST]
SPCBOT PFL
;;; INITIAL ASSEMBLED PURE FLONUMS GO HERE (HA HA!)
SPCTOP PFL,ILS,[PURE FLONUM]
10$ $LOSEG
SUBTTL INITIAL RANDOM IMPURE FREE STORAGE
IFN PAGING,[
BXXPSG==. ;POSSIBLE SLACK PURE SEGMENT
PAGEUP
α NXXPSG==<.-BXXPSG>/SEGSIZ
SPCBOT IFS
NPURFS==<.-BPURFS>/PAGSIZ
U ;END OF IFL PAGIJG
.ELSE, SPCBOT IFS
FIRSTW:
QXSET1: .,,NIL ;FOR XSEPQ
NUNMRK==.-FIRSTW .SEE GCP6
↓IFG NUNMRK-40, WARN \NUNMRK,[=TOO MANY UNMARKABLE FS LGCATIONS]
9;; PROPERTY LIST FOR "LISP" WIT@ ITS INITAAL "PPN" PROPERTY FOR LISP SYSTEM
;;9 FILE DIRECTORY SPECAFICAITON. In TOPS-20 world, will possibly be
;;; reset upon each start-up
PLLISP: QPPN %
10$ INIT1Y:
Q%ALD,,NIL
IT$ FEATEX: QEXPERIMENTAL %
FEATLS: ;INITIAL LIST FOR (STATUS FEATURES)
QMACLISP %
QPDP10 %
IFN BIGNUM, QBIGNUM %
QFASLOAD %
IFN HNKLOG, QHUNK %
QFUNARG %
IFN USELESS, QROMAN %
QNEWIO %
IFN SFA, QSFA %
10$ HS% QONESEGMENT %
PG$ QPAGING %
;; Beware! non-ITS depends upon OPSYFT having a CDR link to SITEFT, which
;; the code in UDIRSET may splice out.
IFE ITS,[
OPSYFT: ;Operating system type -- on TOPS
10$ SA% QTOPS10 % ; systems, we want this info as well
20$ QTOPS20 % ; as "FILE-SYSTEM-TYPE"
] ;END OF IFE ITS
;"SITE"
;Startup puts "AI", "ML", or "MC" here on ITS systems,
; "TOPS-20" or "TENEX" for DEC20 style systems
; "TOPS-10" or "CMU" for non-SAIL DEC10 style systems
;But may be spliced out by UDIRSET Code.
SITEFT:
SA$ QSAIL %
SA% NIL %
;FILE SYSTEM TYPE COMES LAST
FILEFT:
IT$ QITS,,NIL
10$ QDEC10,,NIL
20$ QDEC20,,NIL
;;; FROM BPROTECT, FOR DISTANCE LPROTECT, IS PROTECTED BY THE GARBAGE COLLECTOR.
.SEE GCP6Q2
BPROTECT:
BG$ BNV1,,ARGNUM ;TO PROTECT CONTENTS OF THESE CELLS
BG% NIL,,ARGNUM
TLF: NIL ;TOP LEVEL FORM - NIL FOR STANDARD
BLF: NIL ;ANALOGOUSLY, THE BREAK LEVEL FORM
VCTRS: 0 ;() OR LIST OF SUBR ADDRESSES [ (VECTORP VECTOR-LENGTH VREF) ]
QF1SB: NIL ;SAVE B DURING QF1
PA3: 0 ;RH = PROG BODY (I.E. CDDR OF PROG FORM)
;LH = NEXT PROG STATEMENT
GCPSAR: 0 ;POINTS TO SAR FOR HASH ARRAY FOR GC-PROTECTION LISTS
RDLARG: NIL ;LIST OF CHARS FOR READLIST, MAKNAM, IMPLODE
SUDIR: NIL ;INITIAL SNAME (ITS) OR PPN (DEC-10)
FEATURES: FEATLS
LDFNAM: NIL ;FASLOAD FILE NAME
LDEVPRO: NIL ;LIST OF EVALED-FROBS-IN-ATOMTABLE TO BE PROTECTED
NILPROPS: NIL ;PROPERTY LIST FOR NIL
DEOFFN: NIL ;DEFAULT EOF FUNCTION
DENDPAGEFN: NIL ;DEFAULT END OF PAGE FUNCTION
UUSRHNK: NIL ;USER-HUNK checking routine
USENDI: NIL ;User SEND interpreter
UCALLI: NIL ;User CALL interpreter
LPROTECT==:.-BPROTECT
Q.=:QITIMES ;ALIASES FOR THE SYMBOL *
V.=:VITIMES
.HKILL QITIMES VITIMES
IGCMKL: DEDSAR % ;DEAD AREA AT TOP OF BPS
IGCFX1 %
INIIFA % ;INIT FILE ARRAY
IGCFX2,,NIL
OBTFS: BLOCK KNOB+10 ;FREE STORAGE FOR OBARRAY CONSAGE
LFSALC==100
FSALC: BLOCK LFSALC ;FOR ALLOC
SPCTOP IFS,ILS,[IMPURE LIST]
SPCBOT IFX
BG$ BNV1: . ;TEMPORARILY RPLACED BY BNCVTM
VBP1: BBPSSG ;INITIAL ALLOCATED VALUE FOR BPORG
VBPE1: INIIF1-2 ;INITIAL ALLOCATED VALUE FOR BPEND
IGCFX1:
PG$ <<ENDLISP+PAGSIZ-1>&PAGMSK>-EINIFA ;SIZE OF DEAD BLOCK
PG% 0 ;WILL BE CALCULATED BY ALLOC
IGCFX2: LINIFA ;SIZE OF INIT FILE ARRAY
LFWSALC==40
FWSALC: BLOCK LFWSALC ;FOR ALLOC
NIFWAL==0
SPCTOP IFX,ILS,[IMPURE FIXNUM]
SPCBOT IFL
1.0 ;NEED AT LEAST ONE IMPURE FLONUM SEGMENT
SPCTOP IFL,ILS,[IMPURE FLONUM]
IFN BIGNUM,[
SPCBOT BN
BBIGPRO: .SEE GCP6Q3 ;PROTECTED BIGNUMS
BN235: 0,,BNM23A
BNM235: -1,,BNM23A
BNM236: -1,,BNM23B
BNV2: 0,,BNV2A
BN.1: 0,,BN.1A
LBIGPRO==.-BBIGPRO
SPCTOP BN,ILS,[BIGNUM]
] ;END OF IFN BIGNUM
IFE BIGNUM,[
BBNSG==.
NBNSG==0
] ;END OF IFE BIGNUM
IFN PAGING,[
BXXBSG==. ;TAKE UP SLACK UNTIL FIRST PAGE OF BPS
PAGEUP
NXXBSG==<.-BXXBSG>/SEGSIZ
] ;END OF IFN PAGING
IF2 GEXPUN
BLSTIM==.MRUNT-BLSTIM
INFORM [TIME TO MAKE INITIAL STRUCT, PASS ]\.PASS,[ = ]\BLSTIM/1000.,[ SECS]